<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>参数说明</title>
</head>
<body>
        <button>订阅</button>
</body>
</html>

<script>
    //n1,n2为形参
    //当参数没有传递的时候为undefined
    // function sum(n1,n2,n3){
    //     console.log(n3)
    //     return n1 + n2;
    // }
    // //参数1,2为实参
    // console.log(sum(1,2));

    //默认参数
    //下面通过计算平均销售额来体验以往默认参数的处理方式

    //这是旧版本的默认参数的处理
    
    // total:总价    year：年数
    // function avg(total,year){
    //     year = year || 1;
    //     return Math.round(total / year);
    // }
    // console.log(avg(2000));
    //使用新版本默认参数方式如下
    
    // function avg(total,year=1){
    //     return Math.round(total/year);
    // }

    // console.log(avg(2000,3));
    
    
    //默认的排序方式使用asc
    // function sortArray(arr,type='asc'){
    //     return arr.sort((a,b) => type == 'asc' ? a- b : b -a);
    // }

    // console.log(sortArray([1,3,7,6],'desc'));

    //默认参数要放在最后面
    //折扣价 = 总数 * (1 - 折扣率)
    // function sum(total,discount=0,dis=0){
    //     return total * (1 - discount) * (1 - dis);
    // }

    // console.log(sum(2000,0.2,0.2));


    //函数参数
    //使用匿名函数进行处理
    // document.querySelector('button').addEventListener('click',function(){
    //     alert('感谢订阅');
    // });

    // document.querySelector('button').addEventListener('click',thinks_function);
    // //函数也可以作为参数进行传递
    // function thinks_function(){
    //     alert('感谢订阅');
    // }


    //函数是可以进行参数传递的
    // let arr = [1,2,3,4,5,6];
    // let hd = arr.filter((value) => {
    //     return value <= 3;
    // });
    // console.log(hd)


    // let arr = [1,2,3,4,5,6];
    // let hd = arr.filter(filterFun);
    // function filterFun(item){
    //     return item <= 3;
    // }
    // console.log(hd);


    //arguments是函数获取到所有参数的集合
    //arguments获取到的参数可以使用展开语法进行展开  为数组
    // function sum(){
    //     // console.log(arguments);
    //     // console.log([...arguments]);
    //     return [...arguments].reduce((total,num) => {
    //         return total += num;
    //     },0);
    // }
    // console.log(sum(1,2,3,4,5,6));


    //更建议使用展开语法
    // function sum(...args){
    //     return args.reduce((a,b) => a+b)
    // }
    // console.log(sum(1,2,3,4,5));

    

    


    




   


</script>